135 research outputs found

    Mutation Testing as a Safety Net for Test Code Refactoring

    Full text link
    Refactoring is an activity that improves the internal structure of the code without altering its external behavior. When performed on the production code, the tests can be used to verify that the external behavior of the production code is preserved. However, when the refactoring is performed on test code, there is no safety net that assures that the external behavior of the test code is preserved. In this paper, we propose to adopt mutation testing as a means to verify if the behavior of the test code is preserved after refactoring. Moreover, we also show how this approach can be used to identify the part of the test code which is improperly refactored

    UML Reflections

    Get PDF
    The UML shares with reflective architectures the idea that self-definition of languages and systems is a key principle for building and maintaining complex systems. The UML is now defined by a four-layer metalevel structure, enabling a flexible and extensible definition of models by metamodels, and even a self-description of the meta-metamodel (the MOF). This metalevel dimension of UML is currently restricted to structural reflection. But recently a new extension to the UML, called the Action Semantics (AS), has been proposed for standardization to the OMG. This paper explores how this proposed extension brings a behavioural reflection dimension to the UML. Indeed, we show that it is not only possible but quite e#ective to use the AS for manipulating UML models (including the AS metamodel). Besides elegant conceptual achievements, such as a metacircular definition of the AS, reflective modeling with the AS leverages on the UML metalevel architecture to provide the benefits of a reflective approach, in terms of separation of concerns, within a mainstream industrial context. A complete model can now be built as an ideal model representing the core concepts in the application, to which non-functional requirements are integrated as fully traceable transformations over this ideal model. For example, this approach paves the way for powerful UML-defined semantics-based model transformations such as refactoring, aspect weaving, application of design patterns or round-trip engineering

    Genetic Dissection of an Exogenously Induced Biofilm in Laboratory and Clinical Isolates of E. coli

    Get PDF
    Microbial biofilms are a dominant feature of many human infections. However, developing effective strategies for controlling biofilms requires an understanding of the underlying biology well beyond what currently exists. Using a novel strategy, we have induced formation of a robust biofilm in Escherichia coli by utilizing an exogenous source of poly-N-acetylglucosamine (PNAG) polymer, a major virulence factor of many pathogens. Through microarray profiling of competitive selections, carried out in both transposon insertion and over-expression libraries, we have revealed the genetic basis of PNAG-based biofilm formation. Our observations reveal the dominance of electrostatic interactions between PNAG and surface structures such as lipopolysaccharides. We show that regulatory modulation of these surface structures has significant impact on biofilm formation behavior of the cell. Furthermore, the majority of clinical isolates which produced PNAG also showed the capacity to respond to the exogenously produced version of the polymer

    Extending Testability for Automated Refactoring

    No full text

    Measuring refactoring benefits: a survey of the evidence

    Get PDF
    Refactoring has become a standard technique for software developers to use when trying to improve or evolve the design of a program. It is a key component of Agile methods, the most popular family of software development methodologies in industrial practice. Refactoring has also been the subject of much attention from researchers and many practitioner textbooks have been written on the topic. It would be natural to assume then that the benefits of refactoring would be easy agree upon, and easy to measure. In this position paper we review a selection of the empirical studies that have attempted to measure the benefits of refactoring and find the situation to be quite unclear. The evidence suggests that what motivates developers to refactor, and what benefits accrue from refactoring, are open issues that require further research
    • …
    corecore